package com.wing.sell.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wing.sell.model.entity.DeliveryRecord;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 交付记录表VO
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class DeliveryRecordVO {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 交付记录编号
     */
    private String recordCode;

    /**
     * 出入库类型
     */
    private String typeCode;

    /**
     * 交付计划id
     */
    private Long planId;

    /**
     * 发货商
     */
    private String customerName;

    /**
     * 发货商id
     */
    private String customerId;

    /**
     * 客户联系人
     */
    private String customerConcat;

    /**
     * 联系人电话
     */
    private String customerMoble;

    /**
     * 车牌号
     */
    private String carNo;

    /**
     * 物流单号
     */
    private String expressCode;

    /**
     * 物流企业id
     */
    private Long companyId;

    /**
     * 运输方式
     */
    private DeliveryRecord.TransportType transportType;

    /**
    * 运输方式描述
    */
    @TableField(exist = false)
    private String transportTypeDesc;

    public String getTransportTypeDesc() {
        return transportType == null ? null : transportType.getDesc();
    }

    /**
     * 运输公司
     */
    private String transportCompany;

    /**
     * 运输费用
     */
    private BigDecimal transportExpenses;

    /**
     * 发货数量
     */
    private Long shipmentQty;

    /**
     * 小计金额
     */
    private BigDecimal subtotalAmount;

    /**
     * 物流企业名称
     */
    private String companyName;

    /**
     * 销售订单id
     */
    private Long saleOrderId;

    /***
     * 订单号
     */
    private String saleOrderCode;

    /**
     * 状态：0-待签收，1-已签收
     */
    private Integer status;

    /**
     * 订单信息
     */
    //private Long orderId;
    private String code;
    private Long customerContactsId;
    private Integer proQuantity;
    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
    private LocalDateTime deliveryTime;
    private Long contractId;
    private String selOrderRemark;
    private String selOrderCustomerName;
    private String customerContactsName;
    private String contractCode;

}
